I/O Mode Analysis in Concurrent Logic Programming

نویسنده

  • Kazunori Ueda
چکیده

This paper brieey reviews concurrent logic programming and the I/O mode system designed for the concurrent logic language Flat GHC. The mode system plays fundamental r^ oles both in programming and implementation in almost the same way as type systems do but in diierent respects. It provides us with the information on how data are generated and consumed and thus the view of \data as resources". It statically detects bugs resulting from ill-formed dataaow and advocates the \programming as wiring" paradigm. Well-modedness guarantees the safety of uniication, the basic operation in concurrent logic programming. Information on the numbers of access paths to data can be obtained by slightly extending the framework, which can be used for compile-time garbage collection and the destructive update of structures. Concurrent logic programming was born around 1980 from the study of the parallel execution of logic programs, and became an important paradigm for concurrent programming in its own right. Relational Language 3] was the rst to appear in the form of a complete programming language. Guarded Horn Clauses (GHC) was designed in the Fifth Generation Computer Project in 1984 11], after thorough examination of its predecessors Concurrent Prolog 9] and an early version of PARLOG 4]. Because of its simplicity, GHC was soon accepted in the Project as the base of KL1, the full-edged kernel language for the Parallel Inference Machine. GHC was soon subsetted to Flat GHC with a simpler guard construct, and the design of KL1 started based on Flat GHC. While GHC was designed as a concurrent language that did not address how programs should be executed, KL1 was designed as a parallel language in which programmers could specify what processor should execute what processes and at what priorities 13]. For the detailed history of the kernel language design in the Fifth Generation Computer Project, the readers are referred to 14]. 1 Several more concurrent logic programming languages were proposed in the past decade, but the diierence between all those languages is rather small as 1 An eecient KL1-to-C compiler system for Unix-based general-purpose computers, named KLIC, can be obtained via anonymous ftp from ftp.icot.or.jp.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Sequentialization of Parallel Logic Programs with Mode Analysis

The family of concurrent logic programming languages based on Flat-Guarded Horn Clauses has proven to be a great asset to programmers seeking to quickly construct ee-cient programs for highly parallel shared-memory machines. If these languages are to be implemented eeciently for other architectures, however, language-speciic compile-time analysis techniques must be improved. This work describes...

متن کامل

A Program Dependence Model for Concurrent Logic Programs and its Applications

In this paper we propose a program dependence model for concurrent logic programs. We present three types of primary program dependences named the sharing dependence, communication dependence, and uni cation dependence between arguments in a concurrent logic program. We formally de ne these primary program dependences based on mode information. We further present a dependence-based representati...

متن کامل

Object - Oriented Concurrent Constraint Programming

1.1 Abstract Oz is a higher-order concurrent constraint programming system under development at DFKI. It combines ideas from logic and concurrent programming in a simple yet expressive language. From logic programming Oz inherits logic variables and logic data structures, which provide for a programming style where partial information about the values of variables is imposed concurrently and in...

متن کامل

Improving the Calculation of RPN in the FMEA Method by Combining a Nonlinear Model with Revised TOPSIS and Fuzzy Logic

Introduction: Failure Mode and Effects Analysis (FMEA) is a structured way to find and understand the states of a system’s failure and to calculate the resulting effects. In this method, which has been criticized by many researchers, the risk priority number is obtained for each failure mode based on the multiplication of the three parameters of occurrence (O), severity (S) and detection (D). I...

متن کامل

A Model for I/O in Equational Languages with Don't Care Non-determinism

Existing models for I/O in side-eeect free languages focus on functional languages, which are usually based on a largely deterministic reduction strategy, allowing for a strict sequentialization of I/O operations. In concurrent logic programming languages a model is used which allows for don't care non-determinism; the sequentialization of I/O is extensional rather than intensional. We apply th...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1994